home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / sviluppo / svilupp2 / istar.lha / Docs / Driving Istar < prev    next >
Text File  |  1996-11-06  |  15KB  |  334 lines

  1. DRIVING ISTAR
  2.  
  3. WHAT DO I NEED TO START IT?
  4.  
  5. Normally you don't need to bother about this lot as they are set up during 
  6. installation and Amiga startup.  But if something goes wrong then this list 
  7. might help.
  8.  
  9. #  assign KBTools: to some directory for best effect
  10. #  iff.library
  11. #  asl.library is needed for saving etc. (supplied with Amiga 1200)
  12. #  CGTimes Font
  13. #  Topaz 11 Font
  14. #  Topaz 8 Font (supplied with any Amiga)
  15.  
  16.  
  17. HOW DO I START IT?
  18.  
  19. This describes the normal start of Istar, from WorkBench.
  20.  
  21. (If you are operating with low memory, such as a base A1200, then refer to 
  22. the section below on 'Starting with Low Memory'.  If you start from CLI, a 
  23. few options are available in Version 1.04 onwards; see later.)
  24.  
  25. 1.  Double click on the Istar icon.
  26.  
  27. 2.  You will be presented with a grey Control Screen part way up the view. 
  28. Initially this has 'Istar' on its title bar but that is soon obscured by a 
  29. horizontal strip and, at the left, the Initial Control Panel.
  30.  
  31. 3.  Click the 'New' button, and two things will happen.  First another 
  32. screen, a large blank white one appears.  This is the Easel on which you 
  33. draw your KB (knowledge base).  And, on the Control Screen, another panel 
  34. appears with columns of buttons and two list gadgets.  (If you are 
  35. operating with limited memory, the standard Easel size (30 by 24 inches) 
  36. might be too large, and you will have to alter the Prefs before clicking 
  37. the New button.)
  38.  
  39. Here are a few instructions to get you started ...
  40.  
  41. 4.  Draw a box by pressing Left Mouse Button (LMB) over Easel, a box 
  42. appears, move mouse around to place it, then release LMB.  (Do not click 
  43. it; clicking does something else.)
  44.  
  45. 5.  Draw another box, to the right of first one.
  46.  
  47. 6.  Press LMB over the right hand edge of the left-hand box, and you will 
  48. see a short line appear from your mouse pointer to a point one quarter the 
  49. way into the box.  This line follows the mouse as you move it.  Move until 
  50. line is over the right-hand box and release.  If you want to insert a bend 
  51. in your line, hit Space bar when end of line is where you want the bend. 
  52. The left-hand box is called the antecedent of the right, and the right is 
  53. the consequent of the left.
  54.  
  55. 7.  (To escape from any operation you have started but don't want, hit the 
  56. Escape key.  Then release the mouse button.)
  57.  
  58. That's the basic mechanism, and the whole knowledge base can be drawn like 
  59. that.  Not too bad, is it?
  60.  
  61.  
  62. GOING FURTHER
  63.  
  64. 8.  Various modifications of the diagram are possible:
  65.  
  66.       a)  Move a box by pressing LMB over the centre of the box.  Dotted
  67.       skeleton of the box and all its connecting links appears.  Move mouse
  68.       and this lot follows.  Release in new position.  (Note that boxes can
  69.       overlap, though it is usually not wise to do so; overlapping is
  70.       usually reserved to collections of boxes that are closely related
  71.       semantically.)
  72.  
  73.       b)  Bend a drawn link by pressing LMB over a link.  Dotted bent line
  74.       follows mouse to new position; release.  Pressing LMB over existing
  75.       bend will just move the bend to new position.
  76.  
  77.       c)  To redirect a link to another box, delete a box, delete a link,
  78.       delete a bend from a link:  see below.
  79.  
  80. 9.  Entering detail, e.g. Name and Meaning.  Click the Right Mouse Button 
  81. (RMB) over centre of box.  (If you get a dotted box outline as in 7(a) then 
  82. you haven't clicked fast enough; hit escape key, release MB and try again. 
  83. You'll soon get the hang of it.)  Up comes the Control Screen, showing an 
  84. Attribute Detail panel with around fifty gadgets.  Don't panic: you need 
  85. only the top two: Label and Meaning; ignore the others for now.  These are 
  86. string gadgets which allow you to enter a name for the box and a longer 
  87. meaning if you wish.  For now, put something in both boxes - anything in 
  88. that you like.  Then click the OK button.  The Control Screen returns and 
  89. your box should display the new name.
  90.  
  91. 10.  Showing Meaning.  Move the mouse over the box (do not press any mouse 
  92. button).  The Meaning text should appear in the horizontal window in the 
  93. top of the Control Screen.  Move mouse away, and it disappears.  In this 
  94. way, even when the box label text is too small to read you can easily see 
  95. what a box means.
  96.  
  97. 11.  More antecedents.  Draw another couple of boxes (see 3 above) near the 
  98. left-hand box (above or below it) and link these to the right-hand box as 
  99. in 5 above, so that it now has three or more antecedents.  Best also to 
  100. name them with different names as in 8 above.
  101.  
  102. 12.  Running the KB.  Now click with the Left Mouse Button over the centre 
  103. of the right-hand box.  Up comes a small panel at the top of the Control 
  104. Screen containing a few buttons, the Attribute Action panel.  The two 
  105. buttons on the left are: Reset and Infer, which allow you to run the KB. 
  106. Hit Reset, then hit Infer.  Up comes a User Question panel, with text at 
  107. the top ("No text for xxxx"; we can change that, below), a large central 
  108. Value gadget and an large OK gadget to right, with a few others.  Enter a 
  109. Value and press OK.  Then a similar panel should appear for the next 
  110. attribute.  And the next.  If you have three left-hand boxes feeding into 
  111. the right-hand one you should get three such User Question panels.
  112.  
  113. 13.  Seeing the result.  When the question sequence has finished, the 
  114. Attribute Action panel is still there.  Hit the Data button, and you are 
  115. taken to the Attribute Details panel.  The result should be shown on the 
  116. second row in the middle - and it should be the sum of all the values you 
  117. entered during the question sequence.
  118.  
  119. 14.  Selecting the inference method.  The inference method is the way the 
  120. values found in the antecedent are combined to give a value to the 
  121. consequent.  The default for an integer consequent is addition.  But this 
  122. can be changed.  On the Attribute Details panel there are three radio 
  123. buttons on the left hand side, with the middle selected: 'Inference'.  To 
  124. its right is a small button with the name of the inference method, 'X = A + 
  125. B + C ..", indicating addition.  Hit the button and a list of different 
  126. inference methods is presented.  Choose one - say multiplication - and hit 
  127. its OK button.
  128.  
  129. 15.  Now hit the OK-Act button; this is similar to OK, but takes you to the 
  130. Attribute Action panel directly, having stored the new inference method in 
  131. the attribute.  As in 10, hit Reset then Infer to get the sequence of 
  132. questions.  Their values remain, so you need only hit OK for each.  Hit 
  133. 'Data..' to see the new value, which should be the product of your values.
  134.  
  135. 16.  Suppressing irrelevant information.  Note that Istar only asks 
  136. questions that it needs to, and thus avoids asking irrelevant ones.  With 
  137. multiplication this happens if one of the antecedents is zero - we then 
  138. know the consequent will be zero, whatever values the remaining antecedents 
  139. take, so there is no point asking them.  Try it.  (If you forget how, go to 
  140. the Attribute Action panel of the consequent, hit Reset and Infer.  Then 
  141. put the second User Question value to 0 and hit OK.  The third should not 
  142. be asked.)
  143.  
  144. 17.  Control Screen.  Whenever you want to access the Control Screen, click 
  145. the Gadget showing two arrows at top left of the Control Screen.  Up it 
  146. comes.  Click it again, and it parks back down the bottom.  Alternatively, 
  147. you can drag the Control Screen up and down manually using the two-pixel 
  148. strip at the top of the Screen above the Meaning Strip.  (Advanced use: 
  149. You can change the parking position, e.g. to be lower and reveal more of 
  150. the Easel.  To do this, drag the Control Screen to where you want its 
  151. parking position to be and then click the wee gadget immediately to the 
  152. right of the up-and-down one.  This records a new parking position.)
  153.  
  154. 18.  Different item types.  Bring up the control screen.  Top right window 
  155. should show list of item types.  Select Proportion, send Control Screen 
  156. back down again, and draw box; should say 'Proportion'.  Once you have 
  157. several types of box in your Easel a quick way of changing type is to move 
  158. mouse over a box of the type you want and hit 'T' key (for 'Type').  Try it 
  159. over one of the original (Integer) boxes and note how the Item Type 
  160. Selection changes to Integer.  Draw, and you'll get an integer.
  161.  
  162. 19.  Automatic Type Conversion.  Now link from right hand side of the 
  163. Proportion box to one of the original (Integer) boxes.  When the link is 
  164. operative (see below) there will be an automatic conversion from Proportion 
  165. to Integer (usually as a percentage 0 to 100).
  166.  
  167.  
  168. WHAT MORE IS THERE?
  169.  
  170. 20.  Lots more.  That should more than get you started.  But there's lots 
  171. more:
  172.  
  173.       #  Larger inference nets
  174.             #  Multi-step
  175.             #  Loop prevention
  176.             #  Scrolling
  177.             #  Zooming
  178.             #  Showing parts
  179.       #  Goal lists
  180.       #  Topics
  181.       #  Find
  182.       #  Forms
  183.       #  Creating new item types, multiple attributes
  184.       #  Creating new attribute types
  185.       #  Document creation
  186.       #  KB Dump, save, load.
  187.  
  188.  
  189. **  IF YOU WISH, YOU CAN NOW GO STRAIGHT TO <USING ISTAR>.
  190.  
  191.  
  192. STARTING FROM CLI
  193.  
  194. To start Istar from CLI, simply type "Istar", maybe appending the version 
  195. number if there is one.  (I assume that you are familiar with paths etc. or 
  196. how to activate a program in another directory.)
  197.  
  198. Advanced use:
  199.       From CLI you can start with various tracing on, by adding the
  200. parameters:
  201.  
  202.       "-tm" to trace some activity in the modules mechanism
  203.       "-tu" to trace some UA module activity
  204.       "-te" to trace some activity among easels
  205.  
  206. so the command might be:
  207.  
  208.       Istar1.04 -tu -te
  209.  
  210. This will usually only be of value when you suspect some bug and want to 
  211. send me a trace of what happens.
  212.  
  213.  
  214. STARTING WITH LOW MEMORY
  215.  
  216. The standard startup will just about start in a base 2 Mb A1200 as long as 
  217. your Workbench screen is simple PAL 640 by 256 and only 4 colours.  But in 
  218. other situations, from Version 1.04 onwards, you can take action to reduce 
  219. the amount of memory needed for your KB, before you create it.  There are 
  220. two ways of doing this.
  221.  
  222. LOW MEMORY METHOD 1:
  223.  
  224. This method involves starting up and immediately altering some of the 
  225. preferences via the Prefs panel.
  226.  
  227.       #  As soon as the Initial Control Panel comes up, click on the Prefs
  228.       button to bring up the Preferences panel.
  229.  
  230.       #  Alter the MinDSA figure (usually 50000 longwords) to e.g. 10000;
  231.       this reduces the size of a new KB from around 20000 bytes to around
  232.       40000.
  233.  
  234.       #  Alter the size of the Easel from 1920 by 768 to something smaller,
  235.       such as 640 by 256.  If its Depth is shown as 4 or higher reduce it
  236.       to 3.  Doing these reduces the amount of memory for the Easel of a
  237.       new KB.  The original size easel consumes around 200 kbytes for each
  238.       bitplane, whereas 640 by 256 consumes only around 20 kbytes per
  239.       bitplane.
  240.  
  241. Note, though, that you should only do this if you can work with a small KB 
  242. or easel.  Also, doing this will not alter the sizes of KB or easel that 
  243. are loaded from file.
  244.  
  245. LOW MEMORY METHOD 2:
  246.  
  247. Altering the preferences each time you load up can be tedious.  So Istar 
  248. can also load preferences from a file as it enters, which in version 1.04 
  249. is the file IstarSys:IstarPrefs (that is, IstarPrefs in the drawer to which 
  250. IstarSys: is assigned).  So all you need to do is supply such a file, 
  251. according to your needs.
  252.  
  253.       A file, IstarPrefs_LowMem is already supplied, so you need only enter
  254. the following command from a CLI:
  255.  
  256.       COPY IstarSys:IstarPrefs_LowMem IstarSys:IstarPrefs
  257.  
  258. Bring up the Prefs panel to see the sizes it has given you.  If you wish 
  259. anything different then make up your own IstarPrefs file.  There are many 
  260. other Preferences that can be set via this file.  See 'Preferences' section 
  261. in the 'KBs' chapter for details.
  262.  
  263.  
  264. WHAT IS AN ITEM?
  265.  
  266. An item in Istar is some focus of attention in the knowledge base.  It is 
  267. represented on the Easel by a box or group of boxes that move together.  An 
  268. item can have:
  269.  
  270.       #  any number of attributes (so far they have had only 1)
  271.       #  relationships to other items
  272.  
  273. On the Item Type list on the KB panel, select 'Contract Meaning'.  This is 
  274. an item expressed by two boxes, when you draw it on the Easel.  The top one 
  275. represents the item itself, the bottom one an attribute of the item.
  276.  
  277.       You can define your own item types.  Let's try doing so.  Hit the
  278. 'New' button below the Item Type list.  A new panel, Create New Item Type 
  279. (CNIT) comes up for an item type called 'Unnamed'.  Change the name to 
  280. 'Employee'.
  281.  
  282.       Now we will add attributes to the item type.  To add each attribute
  283. to an item type we do three things:
  284.  
  285.       1.  Set the type
  286.       2.  Set the name
  287.       3.  Click the addition button just above the Type.
  288.  
  289. So first, hit the Type wee button, and select String from the list that 
  290. comes up; hit its OK button.  Then in the Attribute name to the left of the 
  291. Type, enter 'Name'.  Now hit the button above Type.  'Name' will appear in 
  292. the list in the middle of the panel.  Now create an attribute called 'Age', 
  293. of type Integer using the same steps.  Now create an attribute called 'Day 
  294. off' of Type 'Weekdays'.  Lastly, create an attribute called 'Salary' of 
  295. Type Integer.
  296.  
  297.       Then press OK (called Done in some versions) on the CNIT panel, and
  298. it disappears.  Look at the SIT panel and you will see 'Employee' has been 
  299. added at the bottom and should be selected (if not, select it).
  300.  
  301.       Now draw on the Easel and you should get a tall box group with five
  302. boxes: a smaller one at the top representing the employee itself, with four 
  303. attribute boxes: Name, Age, Day off, Salary.
  304.  
  305.       Notice the similarity to databases: item = entity or record,
  306. attribute = attribute or field.  Unlike many databases new item types can 
  307. be created at any time.  And (probably not this version) new attributes can 
  308. be added to existing item types.
  309.  
  310.  
  311. WHAT IS AN ATTRIBUTE?
  312.  
  313. An attribute is a holder of a value - such as Name, Age, etc.  It can be of 
  314. two types: in an item or a free attribute.  Each attribute is expressed by 
  315. a box.  When you started above, you were drawing (creating) free 
  316. attributes.  When you drew the Employee box group you created an item with 
  317. for attributes.  Free attributes actually belong to a hidden item, for 
  318. which there is no visible box.
  319.  
  320.       Attributes can be of a variety of types, which normally are defined
  321. in terms of value types (see below).
  322.  
  323.       It became clear during the INCA research project that the
  324. conventional picture, of items with several attributes, was not always 
  325. appropriate.  In an inference net a lot of items exist merely to support a 
  326. single attribute, and so Istar developed the idea of 'free attributes', in 
  327. which the item is still there for structural purposes but is de-emphasized 
  328. and not shown on the easel.  So in the Select Item Type panel the first set 
  329. of items is normally a load of free attributes.  They are represented by 
  330. single boxes.  Whether they are called attributes or items is immaterial.
  331.  
  332.  
  333. Copyright (c) Andrew Basden, 1996
  334.